SpringBoot 接口支持GET和POST方式,解析JSON参数请求并返回JSON数据格式

您所在的位置:网站首页 python post接口 获取json解析入数据库 SpringBoot 接口支持GET和POST方式,解析JSON参数请求并返回JSON数据格式

SpringBoot 接口支持GET和POST方式,解析JSON参数请求并返回JSON数据格式

2024-07-11 13:27| 来源: 网络整理| 查看: 265

 

实现接口功能如下: /hello 支持get、post请求返回字符串/test get请求,解析请求参数并封装返回值/test post请求,解析请求参数并封装返回值/testPostJson post请求,解析请求中的body为json的参数并封装返回值/testReturnJson post请求,解析请求中的body为json的参数并封装返回JSON数据格式字符串

 

基础入门教程或相关教程请移至文末

 

 

项目文件结构

 

 

接口层面编码练习 HelloController.java package com.benjamin.springboot.test; import com.alibaba.fastjson.JSONObject; import org.springframework.web.bind.annotation.*; @RestController public class HelloController { // url请求,支持GET和POST,返回值固定 @RequestMapping("/hello") public String hello() { return "Hello Spring Boot!"; } /** * GET请求 http://127.0.0.1:8080/test?param1=222 * @param param1 * @param param2 * @return get in handle1 param1 is 222, param2 is null */ @GetMapping("/test") public String test(String param1, String param2) { String result = String.format("get in handle1 param1 is %s, param2 is %s", param1, param2); return result; } /** * POST请求 http://127.0.0.1:8080/test?param1=222¶m2=111 * @param demo * @return post in handle1 param1 is 222, param2 is 111 */ @PostMapping("/test") public String test(ParamDemo demo){ String result = String.format("post in handle2 param1 is %s, param2 is %s", demo.param1, demo.param2); return result; } /** * 请求入参是一个实体,并且加上了 @RequestBody * 一般适用于前端Header中Content-Type 为 application/json的场景 * 注意入参要是json格式 * @param demo * @return */ @PostMapping("/testPostJson") public String testJson(@RequestBody ParamDemo demo){ String result = String.format("in handle2 param1 is %s, param2 is %s", demo.param1, demo.param2); return result; } /** * GET 请求http://127.0.0.1:8080/testGetJson * @return { * errorMeg: "成功", * errorCode: 0 * } */ @GetMapping("/testGetJson") public Map testGetJson(){ Map result = new HashMap(); result.put("errorCode",0); result.put("errorMeg","成功"); return result; } /** * 请求入参是一个实体,并且加上了 @RequestBody * 一般适用于前端Header中Content-Type 为 application/json的场景 * 注意入参要是json格式 * @param demo * @return json */ @PostMapping("/testReturnJson") public String testReturnJson(@RequestBody ParamDemo demo){ // 将获取的json数据封装一层,然后在给返回 JSONObject result = new JSONObject(); result.put("msg", "ok"); result.put("method", "POST"); result.put("data", demo); return result.toJSONString(); } /** * 使用静态内部类,简单定义一个入参实体类 */ static class ParamDemo{ private String param1; private String param2; public String getParam1() { return param1; } public void setParam1(String param1) { this.param1 = param1; } public String getParam2() { return param2; } public void setParam2(String param2) { this.param2 = param2; } } }   接口调试运行截图

> 普通GET请求测试验证,POST请求返回值一样

/hello

> GET请求带参数测试验证

/test?param1=22

> GET请求返回JSON的数据格式

/testGetJson

 

 

 

> POST请求带Body为JSON的数据格式请求

/testPostJson Requests Header Content-Type:application/json Requests Body { "param1":"111", "param2":"222" }

 

> POST请求,返回JSON数据格式并包含请求是的BODY请求数据

/testReturnJson Requests Header Content-Type:application/json Requests Body { "param1":"111", "param2":"222" }

 

SpringBoot 错误请求404测试 Error Request

 

 

 

参考教程请移至:

    Spring Boot -01- 快速入门篇(图文教程) https://icode.blog.csdn.net/article/details/84194493

    SpringBoot|Controller接收处理GET,POST请求入参 https://blog.csdn.net/weixiaodedao/article/details/106710432

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3